Instead, how bout a simpler syntax. This is just an idea, could be improved
void Recurse()
{
scope(first)
{
`BLOCK`
}
scope(last)
{
`BLOCK`
}
Recurse();
}
which would be equivalent to
void Recurse2()
{
Recurse2();
}
void Recurse()
{
`BLOCK`
Recurse2();
`BLOCK`
}
doubling of functions starts to create a source mess.
