return None unless product can be computed