Need to rethink ImmutableTypeToInstance a bit.