If no placement kwarg is specified, the error message is confusing, e.g. this code:
pgm = (PGM()
.with_nodes(
Param(r"$B_2$"))
).build()
pgm.render();
produces this error message:
ValueError: Param__init__ can handle at most one of the placement kwargs (('xy', 'above', 'above_l', 'above_r', 'below', 'below_l', 'below_r', 'left_of', 'right_of')) but was given 0