Why return nil as opposed to throwing an exception about how the supplied op is unsupported? What happens if someone passes in an unsupported op...is it silently ignored?