Make fewer assumptions and do checks instead.