We can't make that kind of change, because it changes the semantics of a variable of an existing method in a way we can't detect, so we can't issue a deprecation warning or anything like that. Any 3rd party layers will just break with no explanation.

This is also not a very good thing to do in terms of compile time performance, because all of the extra calls to fprop make repeated subexpressions that the theano optimizer has to find and merge.

I'd suggest you just start by monitoring only the last layer of the inner MLP. If you need to monitor all of the intermediate states you could add a get_monitoring_channels_from_input method to the Layer class.