The main issue here would be the engine's hard codded "Cannot build on [surface]" because while now it works and is ok, if I were to implement tiered buildings on better concrete, I can't hook to anything to fire create_local_flying_text for a message such as "Foundry must be built on Reinforced Concrete" or "Laboratory must be built on Concrete or better"
That would confuse the hell out of the player if they put stone bricks and attempt to place the foundry and only get "Cannot build on Stone Bricks. Must be built on solid flooring"
I'm using a similar approach to the tile_buildability_rules but even that won't solve the "how to notify the player" issue. Other workarounds I thought up of would be very annoying like damaging the building or destroying it and refunding it back to the player after it was placed, imagine copying a blueprint and have it explode on all of the robots. Right now it places the concrete under the building when shift+clicking