Fluent Api Tutorial

Using a base interface of IBodmas, create a fluent syntax which would allow me to do the following:

var formula = 4.Add(3.Brackets(2.Multiply(5))).Div(6);
var result = Bodmas.Execute(formula); // 9

The fluent interfaces should ensure that I can't create a malformed formula and the implementation should expand the formula to calculate the result honoring the order of execution as demonstrated here: https://www.mathsisfun.com/algebra/operations-order-calculator.html We also try to achive the following result too:

var formula = 4.Add(3.Brackets(2.Multiply(5))).Div(6);
var result = Bodmas.ToString(formula); // "4 + 3(2 * 5) / 6"