by guessing
BfReadByte(bf) -> see if return a value
if no
BfReadChar(bf) and so on untill you get a value
Let's say if find a char. That means first argument is a char. Now you have to do
BfReadChar(bf)
BfReadByte(bf) -> if returns something is good, else again
BfReadChar(bf)
BfReadChar(bf) -> returns something ? if yes that means 2nd argument is char also