Don't restrict to pointer types in the non-strict case, since maps can be used. Do
restrict to pointer types for strict decoding in all cases.