Ignore log files.
Types are now JS objects, not strings.
Capitalise type names.
Typo, comment is a macro.
Named types.
Remove duplicate code when creating macros.
Delete outdated comment.
Remove duplicate code when creating function.
Change mkFunction to be consistent with other mk* functions.
Fix indentation.