func WithStartToCloseTimeout(ctx Context, d time.Duration) Context {
	return internal.WithStartToCloseTimeout(ctx, d)
}
WithStartToCloseTimeout makes a copy of the current context and update
the StartToCloseTimeout field in its activity options. An empty activity
options will be created if it does not exist in the original context.

Cadence time resolution is in seconds and the library uses math.Ceil(d.Seconds())
to calculate the final value. This is subject to change in the future.
package workflow
import (
	"time"
	"go.uber.org/cadence/internal"
)
type ActivityOptions = internal.ActivityOptions
type LocalActivityOptions = internal.LocalActivityOptions
type RetryPolicy = internal.RetryPolicy
func WithActivityOptions(ctx Context, options ActivityOptions) Context {
	return internal.WithActivityOptions(ctx, options)
}
func WithLocalActivityOptions(ctx Context, options LocalActivityOptions) Context {
	return internal.WithLocalActivityOptions(ctx, options)
}
func WithTaskList(ctx Context, name string) Context {
	return internal.WithTaskList(ctx, name)
}
func WithScheduleToCloseTimeout(ctx Context, d time.Duration) Context {
	return internal.WithScheduleToCloseTimeout(ctx, d)
}
func WithScheduleToStartTimeout(ctx Context, d time.Duration) Context {
	return internal.WithScheduleToStartTimeout(ctx, d)
}