Completed grammar, just need to make types