I was an intern on a team that did some Kindle work in 2010 and the Java limitations at that time were definitely a very real annoyance for internal code: they didn't do anything like you are describing for Java bytecode conversion for 1p development to make it less annoying. The issue was maybe even deeper than you noticed, core parts of the API like String.substring() weren't implemented and would just throw a runtime exception.