frame: make a registry of types + parsers