Aiken style guide
- any stdlib types are imported, our own types are all used qualified
- library functions are used qualified
- all function parameters are typed
- use nesting where appropriate
- don't let-bind anonymous functions
- no shadowing, if you want to discard intermediary variables, use blocks instead
- no library type names should overlap with anything in stdlib