I implemented the sample feature from Wave Function Collapse where you can feed it a "vibe example" and it will figure out valid combinations all on its own. Attached is the example I provided. If you only have straight paths and T paths, you'll get a nice output that's similar to recursive subdivision.