note that Keyword::API is also similar
actually, throw an exception on parse errors