} else if (element instanceof TypeClassDefn) {
////
/// Process a type class definition
//
final TypeClassDefn typeClass = (TypeClassDefn)element;
typeClassBindings.put(
typeClass.getTypeClassName(),
Binding.Definition.make(
new IdentifierInfo.TopLevel.TypeClass(
QualifiedName.make(currentModuleName, typeClass.getTypeClassName())),
typeClass,
typeClass.getSourceRangeOfName()));
for (final TypeClassDefn.ClassMethodDefn classMethod : typeClass.getClassMethodDefns()) {
// We process each class method as well
functionAndClassMethodBindings.put(
classMethod.getMethodName(),
Binding.Definition.make(