more consistent (wrt std types) _default handling

notably, implicit primary fields should work for _default types.