module ProjectM36.TypeConstructorDef where import ProjectM36.Base name :: TypeConstructorDef -> TypeConstructorName name :: TypeConstructorDef -> TypeConstructorName name (ADTypeConstructorDef TypeConstructorName nam [TypeConstructorName] _) = TypeConstructorName nam name (PrimitiveTypeConstructorDef TypeConstructorName nam AtomType _) = TypeConstructorName nam typeVars :: TypeConstructorDef -> [TypeVarName] typeVars :: TypeConstructorDef -> [TypeConstructorName] typeVars (PrimitiveTypeConstructorDef TypeConstructorName _ AtomType _) = [] typeVars (ADTypeConstructorDef TypeConstructorName _ [TypeConstructorName] args) = [TypeConstructorName] args