First commit with polymorphic function definitions and applications. Lots to
fix yet!