Apply a function to a nested list

Say I have a list:

l = {{{a, b}, c}, d} 

I want to apply a function now, call it F to this list so as to go from the lowest to the highest level, that is to say

F[{d,F[{c,F[{a,b}]}]}]

Is there a function in Mathematica that does exactly that?