<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def place_market_order(self, product_id, side, size=None, funds=None, client_oid=None, stp=None, overdraft_enabled=None, funding_amount=None):
 """ Place market order. Args: product_id (str):
 Product to order (eg. 'BTC-USD') side (str):
 Order side ('buy' or 'sell) size (Optional[Decimal]):
 Desired amount in crypto. Specify this or `funds`. funds (Optional[Decimal]):
 Desired amount of quote currency to use. Specify this or `size`. client_oid (Optional[str]):
 User-specified Order ID stp (Optional[str]):
 Self-trade prevention flag. See `place_order` for details. overdraft_enabled (Optional[bool]):
 If true funding above and beyond the account balance will be provided by margin, as necessary. funding_amount (Optional[Decimal]):
 Amount of margin funding to be provided for the order. Mutually exclusive with `overdraft_enabled`. Returns: dict: Order details. See `place_order` for example. """

        params = {'product_id': product_id,
                  'side': side,
                  'order_type': 'market',
                  'size': size,
                  'funds': funds,
                  'client_oid': client_oid,
                  'stp': stp,
                  'overdraft_enabled': overdraft_enabled,
                  'funding_amount': funding_amount}
        params = dict((k, v) for k, v in params.items() if v is not None)

        return self.place_order(**params)