SOGL, 32 bytes
½ouiīZģ9Ο|ΧyΚ⅞ō÷Jeq(‚7‘⁽ b,ŗ e,ŗ
The first input can't contain the letter b
, which seems to leave a reasonable subset of ASCII (and unicode) left.
½ouiīZģ9Ο|ΧyΚ⅞ō÷Jeq(‚7‘
is a compressed string of "how much b would a be e if a be could e b?"
(characters chosen so the required words are all in the dictionary), then b
is replaced with the 1st input and e
with the 2nd.