determine mime type by file extension
Record types!
Typechecking based on kinds
Sugar for enum's meta-object protocol
Failure sum type