Calculate the product of all elements in an array.
```if:csharp
If the array is *null*, you should throw `ArgumentNullException` and if the array is empty, you should throw `InvalidOperationException`.

As a challenge, try writing your method in just one line of code. It's possible to have only 36 characters within your method.
```
```if:javascript
If the array is `null` or is empty, the function should return `null`.
```
```if:haskell
If the array is empty then return Nothing, else return Just product.
```
```if:php
If the array is `NULL` or empty, return `NULL`.
```
```if:python
If the array is empty or `None`, return `None`.
```
```if:ruby
If the array is `nil` or is empty, the function should return `nil`.
```
```if:crystal
If the array is `nil` or is empty, the function should return `nil`.
```
```if:groovy
If the array is `null` or `empty` return `null`.
```
```if:julia
If the input is `nothing` or an empty array, return `nothing`
```

Source: codewars | Difficulty: EASY

Starter code: def product(numbers):
	

Solutions:
from functools import reduce
from operator import mul

def product(numbers):
	return reduce(mul, numbers) if numbers else None


def product(numbers):
	if not numbers:
		return None
	prod = 1
	for i in numbers:
		prod *= i
	return prod


def product(numbers):
	if numbers == [] or numbers == None:
		return None
	res = 1
	for i in numbers:
		res *= i
	return res


import numpy as np

def product(l):
	if not l:
		return None
	if 0 in l:
		return 0
	if len(l) == 1:
		return l[0]
	p = 1
	for i in l:
		p *= i
	return p


from functools import reduce
from operator import __mul__

def product(numbers):
	if numbers:
		return reduce(__mul__, numbers)


def product(numbers):
	if numbers == None:
		return None
	elif numbers == []:
		return None
	pr = 1
	for i in numbers:
		pr *= i
	return pr


def product(numbers):
	if numbers:
		return eval('*'.join(map(str, numbers)))


def product(numbers):
	if numbers:
		r = 1
		for i in numbers:
			r *= i
		return r