Resolver parsing is no longer duplicated and uses exhaustive pattern matching