docs: def bet_place(
          self,
          betting_market_id,
          amount_to_bet,
          backer_multiplier,
          back_or_lay,
          account=None,
          **kwargs
      ):
          """ Place a bet
  
              :param str betting_market_id: The identifier for the market to bet
                  in
              :param peerplays.amount.Amount amount_to_bet: Amount to bet with
              :param int backer_multiplier: Multipler for backer
              :param str back_or_lay: "back" or "lay" the bet
              :param str account: (optional) the account to bet (defaults
                          to ``default_account``)
          """
          from . import GRAPHENE_BETTING_ODDS_PRECISION
  
          assert isinstance(amount_to_bet, Amount)
          assert back_or_lay in ["back", "lay"]
          if not account:
              if "default_account" in self.config:
                  account = self.config["default_account"]
          if not account:
              raise ValueError("You need to provide an account")
          account = Account(account)
          bm = BettingMarket(betting_market_id)
          op = operations.Bet_place(
              **{
                  "fee": {"amount": 0, "asset_id": "1.3.0"},
                  "bettor_id": account["id"],
                  "betting_market_id": bm["id"],
                  "amount_to_bet": amount_to_bet.json(),
                  "backer_multiplier": (
                      int(backer_multiplier * GRAPHENE_BETTING_ODDS_PRECISION)
                  ),
                  "back_or_lay": back_or_lay,
                  "prefix": self.prefix,
              }
          )
          return self.finalizeOp(op, account["name"], "active", **kwargs)