First pass at parser, doesn't handle generic params yet.