Explored preparing all targetOutputs with Script in Cashtab (see D16427).
While this is doable, it is a weird API to standardize. Most developers will be working with address. For example, scanning QR codes gets an address. User copy paste entry is expected to be an address (or maybe an alias).
Expecting developers to always convert to ecash-lib Script type before calling the library is unreasonable. ecash-lib should just handle address.