Feature/get enum types

Features on this branch finished, please review.
What is the purpose of an empty link function?