This is because foreign members and properties may contain values that don't unmarshal into any without loss of information. For example, JSON numbers that are integral but greater than 2^52 will be unmarshalled into float64 values but loss some information.