Switch to Erlang 17-style types, /0 versions at least.
While we're here, fix another warning.
Also since we are here, fix old-Erlang behaviour_info/1 that got out of sync.
Work around what looks like a bug.
Merge bug26211