I have the following: -spec parse_json(JSON :: undefined | binary(), Record :: record(), Parser :: function()) -> record(). With Erlang 18.3, I get "type record() undefined". With Erlang 17.x, I don't. Was this always wrong, and the compiler's got stricter?