pick primitives last in typer to avoid assuming things are meta as much